____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Field Programmable Gate Array
part 4/17 · 51.8 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
• In vielen FPGAs sind zusätzliche festverdrahtete Funktionen enthalten, wie z. B. Speicherblöcke (sog. Block RAM), die sich in vielfältiger Weise nutzen lassen.
• Für Aufgaben der digitalen Signalverarbeitung sind viele FPGAs zusätzlich zu den normalen Logikzellen mit DSP-Blöcken ausgestattet.cite-ref-xilinxdsp-2-0[2]cite-ref-alteradsp-3-0[3] Diese erlauben, neben der schnellen Multiplikation zweier Zahlen, auch die Verwendung als Multiply-Accumulate-Blöcke, wie sie insbesondere für digitale Filter und andere Faltungsoperationen benötigt werden. Dies ist häufig effizienter, als die zugrundeliegende Funktion aus den universellen Logik-Ressourcen des FPGA zu synthetisieren.
• FPGAs, die aufwändige Berechnungen vollziehen sollen, verfügen über mehrere integrierte Mikrocontroller in Form eines Hard-Cores, welcher z. B. mit einem C-Programm programmiert werden kann.
• FPGAs, die besonders hohe Speicheranforderungen haben, besitzen mehrere integrierte DDR-Speichercontroller und neben dem FPGA im gleichen Gehäuse installierte DDR-SDRAM-Blöcke mit mehreren GB Speicherkapazität. Man nennt solche integrierten Schaltungen mit mehreren Chips in einem Gehäuse auch Multi-Die.
• Durch weiteres Hinzufügen von komplexen Funktionsblöcken wie Ethernetschnittstellen, USB-Controllern und DDR-Speichercontrollern entstehen System-on-a-Chip-Systeme (SoCs), die den Aufbau vollständiger computerähnlicher Systeme ermöglichen. Die darin verwendeten unveränderlichen Schaltungen belegen sehr viel weniger Chipfläche, als die gleiche Funktion benötigt, wenn sie mit frei konfigurierbaren Logikblöcken realisiert wird. Sie sind auch erheblich stromsparender und um ein Mehrfaches schneller.
• Hersteller wie Xilinx bieten mittlerweile auch FPGAs an, die bereits über im Chipgehäuse untergebrachten Flash-Speicher zur Konfiguration verfügen und keinen externen Flash-Speicher mehr benötigen. Die Lade- bzw. Startzeiten des FPGA bleiben im Vergleich zu externem Speicher in etwa gleich, sind allerdings speziell vom Hersteller optimiert. Ein weiterer Vorteil ist der Schutz vor unrechtmäßigen Kopien durch das Auslesen des extern befindlichen Speichers. Derzeit und auf absehbare Zeit ist es technologisch nicht möglich, die SRAM-basierten Schalterzellen in einem FPGA direkt wie bei den viel einfacheren CPLDs durch Flash- bzw. EEPROM-Zellen zu ersetzen.
Unterschiede zu CPLDs